import { $bDialog } from '@/components/b-dialog'

/**
 * 用于处理对话框功能的Hook
 * @param options - 对话框的配置选项
 * @returns 包含对话框相关方法的对象
 */
export function useDialog(options = {
  defaultWidth: 400,
  defaultHeight: 300
}) {
  /**
   * 打开一个带有指定组件和参数的对话框
   * @param title - 对话框标题
   * @param component - 要在对话框中渲染的Vue组件
   * @param params - 要传递给组件的参数
   * @param dialogOptions - 额外的对话框选项
   */
  function openDialog(
    title: string,
    component: any,
    params: any,
    dialogOptions: { width?: number, height?: number, close?: () => void, hideTools?: boolean }
  ) {
    return $bDialog({
      title,
      Comp: component,
      CompParams: params,
      width: dialogOptions?.width || options.defaultWidth,
      height: dialogOptions?.height || options.defaultHeight,
      ...dialogOptions
    })
  }

  return {
    openDialog
  }
} 